A printer may be connected to one or more hosts that submit print jobs to the printer. When a print job is submitted, a print controller in the printer receives the print job, which may be encoded in a Page Description Language (PDL), such as PostScript (PS), Printer Command Language (PCL), XML Page Specification (XPS), etc. The print job comprises one or more logical pages that are formatted based on the PDL. The print controller then rasterizes the logical page(s) of the print job. The rasterizing process converts the logical pages of the print job into sheetside bitmaps that are printable by a print engine. The rasterizing process actually includes multiple processes, such as decompressing the print job, performing color transformations, halftoning, etc.
The process of rasterizing a print job is a time consuming process. To save processing time, the print controller may cache the bitmaps for images that appear multiple times in a print job for potential reuse at a future time. When an image appears in the same or another logical page of the print job, the bitmap may be recalled from the cache instead of having to rasterize the image again. Reuse of cached bitmaps eliminates the need to rasterize each instance of an image that appears multiple times in a print job, which saves processing time within a printer.